-
Notifications
You must be signed in to change notification settings - Fork 326
blog post about the Scala community build #810
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Very nice. Perhaps we could provide a few concrete examples of ways this has saved us, or ways we plan to use this.
|
Is it worth a shout out to MiMa? I wonder if it's worth stating that the Scala community build compiles project code, compiles and runs its tests, and therefore tests source compatibility and runtime behaviour, leaving binary compatibility concerns to MiMa? I mention it because in sbt land we're always torn about wanting to ensure we definitely don't break bincompat in the already-published plugins, but at the same time we don't want to majorly inconvenience build users and plugin authors with a big impacting source incompatibility. |
depend on each other, so only freshly built code, built by freshly | ||
built Scala, is involved. | ||
|
||
## What's it for? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe change this subsection to be called: "Why do we do this?"
spire, spray-json, ssl-config, tut, twirl, twitter-util, twotails, | ||
unfiltered, upickle, utest, zinc. | ||
|
||
Interested in adding a library? See our |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe rephrase: "Want to add your project to the community build?"
Very nice Seth! I just added two little nit picks that make things look clearer to my eyes, but you don't need to act on them if you don't want to. Feel free to merge when ready! :) Also–thanks a lot, guys, for writing a blog article! |
I've pushed one more commit that:
the text I added still isn't super concrete, but I'm going to keep this in mind for future blog posts about the community build. I'm envisioning a once- or twice-yearly blog post, probably on the short side, that says what projects we've added and includes some stories about how the build has helped us recently.
Hmmm... yeah, I was tempted to delve a little deeper into how source compat and bincompat differ, why it's so important that dbuild rewires inter-project dependencies rather than just building everything separately, and so forth. But I feel like this post is probably already long enough. I think I'll keep these topics in mind for a future blog post. Either a sequel to this one, or perhaps a blog post about our QA efforts more generally — community build, MiMa, Scabot, partest, the stability test in bootstrap, etc etc etc, a survey of that whole landscape. |
added a bit more "benefits" text: +Library authors have also benefited. The community build has
+often provided early warning of compatibility issues because
+of changes to Scala or changes to other libraries. It has helped
+maintainers standardize their builds, keep their dependencies
+up-to-date, identify flaky tests, and shake out assorted other
+issues. |
historical footnotes, to be entered into the Chronicles of Scala (unabridged 83-volume edition):
I ended up rather arbitrarily choosing 2013 as the start date in the blog post, since it wasn't clear to me if the 2013 thing was descended from Josh's 2012 work or not. The biggest reason I waited so long before writing this blog post is a stupid reason: I wanted accurate LOC counts before blogging, but procrastinated endlessly on actually writing the cloc plugin. (Which, when I finally did it, was only a day's work, so go figure.) |
reviews/feedback welcome